Apple II
Technical Notes
_____________________________________________________________________________
                                                  Developer Technical Support


SmartPort
#6:    Apple IIGS SmartPort Errata

Written by:    Matt Deatherage                                  November 1988

This Technical Note documents two bugs in the Apple IIGS SmartPort firmware.
_____________________________________________________________________________

Developers should be aware of the following two bugs in the Apple IIGS 
SmartPort firmware:

1.    SmartPort accidentally uses locations $57 through $5A on the zero 
      page without saving and restoring them first.  There is some 
      confusion as to whether these bytes are used on the absolute zero 
      page or on the caller's direct page.  This is a moot point--
      SmartPort calls are required to be made from full-emulation 
      mode.  This requirement means the emulation bit must be set and 
      the data bank and direct page registers must both be set to zero.  
      The bytes are used on the absolute zero page, as that should be 
      the direct page when SmartPort is called.
2.    If an extended SmartPort CONTROL call is made, the CONTROL list 
      must not start at $FFFE or $FFFF of any bank.  The IIGS SmartPort 
      interface does not increment the bank pointer when moving past the 
      two-byte CONTROL list length.  If a CONTROL list starts one or two 
      bytes before a bank boundary, SmartPort will incorrectly read the 
      list from the beginning of that bank, instead of the beginning of 
      the next bank.

These bugs will be fixed in any future release of the Apple IIGS firmware.


Further Reference
o    Apple IIGS Firmware Reference

